import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from IPython.display import display
import IPython.core.display as di
from include.config import CleaningConfig, PlottingConfig, NotebookConfig
from include.counting import get_count, get_percentage
from include.plotting import get_plot, display_side_by_side
from include.likertScalePlot import likert_scale
from include.textCleaning import wordcloud
pd.set_option('display.max_rows', 1000)
pd.set_option('display.max_columns', 1000)
This text is used to hide the code cell when exported in html
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)
get_ipython().magic('matplotlib inline') # Activate that line to use in Jupyter
matplotlib.rcParams['figure.figsize'] = (15.0, 8.0)
df = pd.read_csv('./uk_2017/data/cleaned_data.csv')
The total of participant after cleaning the dataset. Remove all participants that have not completed the survey passed the first pages and all participants who are not from the country
len(df)
v_to_count = get_count(df, ['socio1. In which country do you work?'], "one choice", "./../survey_creation/uk_17/listAnswers/countries.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['edu1. What is the highest qualification you have obtained?'], "one choice", "./../survey_creation/uk_17/listAnswers/education.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['edu2. In which subject is your highest academic qualification?'], "one choice", "./../survey_creation/uk_17/listAnswers/academic_field.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
wc = wordcloud(df, ['edu3. Enter your academic subject'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
wc = wordcloud(df, ['edu4. Do you hold any professional qualifications?'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
v_to_count = get_count(df, ['rse1. Do you write code as part of your job?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['rse3[SQ001]. Who uses the code that you write? []'], "likert", "./../survey_creation/uk_17/listAnswers/likert_usage_5.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['soft2can. Do you consider yourself a professional software developer?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['soft1can. How many years of software development experience do you have?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
_ = get_plot(v_to_count, "freenumeric")
v_to_count = get_count(df, ['time1can[time1can]. In an average month, how much time do you spend on: [Software development]', 'time1can[time2can]. In an average month, how much time do you spend on: [Research]', 'time1can[time3can]. In an average month, how much time do you spend on: [People management]', 'time1can[time6can]. In an average month, how much time do you spend on: [Project management]', 'time1can[time4can]. In an average month, how much time do you spend on: [Teaching]', 'time1can[time5can]. In an average month, how much time do you spend on: [Other activities]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['currentEmp1. What type of organisation do you work for?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_organisation.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['currentEmp2. Which university?'], "one choice", "./../survey_creation/uk_17/listAnswers/universities.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
wc = wordcloud(df, ['currentEmp4. Which organisation do you work for?'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
wc = wordcloud(df, ['currentEmp5. What is your official job title'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
wc = wordcloud(df, ['currentEmp6. Are you known in your group by a different job title? If so, please enter the job title you use'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
v_to_count = get_count(df, ['currentEmp12. Do you work full time or part time?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_hours.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['currentEmp10. What type of contract are you employed on?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_contract.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['currentEmp11. What is the duration of your current contract in months?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
_ = get_plot(v_to_count, "freenumeric")
v_to_count = get_count(df, ['currentEmp13[SQ001]. In which disciplines do you work (select as many as apply)? [Accounting & Finance]', 'currentEmp13[SQ002]. In which disciplines do you work (select as many as apply)? [Aeronautical & Manufacturing Engineering]', 'currentEmp13[SQ003]. In which disciplines do you work (select as many as apply)? [Agriculture & Forestry]', 'currentEmp13[SQ004]. In which disciplines do you work (select as many as apply)? [American Studies]', 'currentEmp13[SQ005]. In which disciplines do you work (select as many as apply)? [Anatomy & Physiology]', 'currentEmp13[SQ006]. In which disciplines do you work (select as many as apply)? [Anthropology]', 'currentEmp13[SQ007]. In which disciplines do you work (select as many as apply)? [Architecture]', 'currentEmp13[SQ008]. In which disciplines do you work (select as many as apply)? [Art & Design]', 'currentEmp13[SQ009]. In which disciplines do you work (select as many as apply)? [Biological Sciences]', 'currentEmp13[SQ010]. In which disciplines do you work (select as many as apply)? [Business & Management Studies]', 'currentEmp13[SQ011]. In which disciplines do you work (select as many as apply)? [Chemical Engineering]', 'currentEmp13[SQ012]. In which disciplines do you work (select as many as apply)? [Chemistry]', 'currentEmp13[SQ013]. In which disciplines do you work (select as many as apply)? [Civil Engineering]', 'currentEmp13[SQ014]. In which disciplines do you work (select as many as apply)? [Classics & Ancient History]', 'currentEmp13[SQ015]. In which disciplines do you work (select as many as apply)? [Communication & Media Studies]', 'currentEmp13[SQ016]. In which disciplines do you work (select as many as apply)? [Complementary Medicine]', 'currentEmp13[SQ017]. In which disciplines do you work (select as many as apply)? [Computer Science]', 'currentEmp13[SQ018]. In which disciplines do you work (select as many as apply)? [Counselling]', 'currentEmp13[SQ019]. In which disciplines do you work (select as many as apply)? [Criminology]', 'currentEmp13[SQ020]. In which disciplines do you work (select as many as apply)? [Dentistry]', 'currentEmp13[SQ021]. In which disciplines do you work (select as many as apply)? [East & South Asian Studies]', 'currentEmp13[SQ022]. In which disciplines do you work (select as many as apply)? [Economics]', 'currentEmp13[SQ023]. In which disciplines do you work (select as many as apply)? [Education]', 'currentEmp13[SQ024]. In which disciplines do you work (select as many as apply)? [Electrical & Electronic Engineering]', 'currentEmp13[SQ025]. In which disciplines do you work (select as many as apply)? [English]', 'currentEmp13[SQ026]. In which disciplines do you work (select as many as apply)? [Fashion]', 'currentEmp13[SQ027]. In which disciplines do you work (select as many as apply)? [Food Science]', 'currentEmp13[SQ028]. In which disciplines do you work (select as many as apply)? [French]', 'currentEmp13[SQ029]. In which disciplines do you work (select as many as apply)? [Geography & Environmental Sciences]', 'currentEmp13[SQ030]. In which disciplines do you work (select as many as apply)? [Geology]', 'currentEmp13[SQ031]. In which disciplines do you work (select as many as apply)? [General Engineering]', 'currentEmp13[SQ032]. In which disciplines do you work (select as many as apply)? [German]', 'currentEmp13[SQ033]. In which disciplines do you work (select as many as apply)? [History]', 'currentEmp13[SQ034]. In which disciplines do you work (select as many as apply)? [History of Art, Architecture & Design]', 'currentEmp13[SQ035]. In which disciplines do you work (select as many as apply)? [Hospitality, Leisure, Recreation & Tourism]', 'currentEmp13[SQ036]. In which disciplines do you work (select as many as apply)? [Iberian Languages/Hispanic Studies]', 'currentEmp13[SQ037]. In which disciplines do you work (select as many as apply)? [Land & Property Management]', 'currentEmp13[SQ038]. In which disciplines do you work (select as many as apply)? [Law]', 'currentEmp13[SQ039]. In which disciplines do you work (select as many as apply)? [Librarianship & Information Management]', 'currentEmp13[SQ040]. In which disciplines do you work (select as many as apply)? [Linguistics]', 'currentEmp13[SQ041]. In which disciplines do you work (select as many as apply)? [Marketing]', 'currentEmp13[SQ042]. In which disciplines do you work (select as many as apply)? [Materials Technology]', 'currentEmp13[SQ043]. In which disciplines do you work (select as many as apply)? [Mathematics]', 'currentEmp13[SQ044]. In which disciplines do you work (select as many as apply)? [Mechanical Engineering]', 'currentEmp13[SQ045]. In which disciplines do you work (select as many as apply)? [Medicine]', 'currentEmp13[SQ046]. In which disciplines do you work (select as many as apply)? [Middle Eastern and African Studies]', 'currentEmp13[SQ047]. In which disciplines do you work (select as many as apply)? [Music]', 'currentEmp13[SQ048]. In which disciplines do you work (select as many as apply)? [Nursing]', 'currentEmp13[SQ049]. In which disciplines do you work (select as many as apply)? [Ophthalmics]', 'currentEmp13[SQ050]. In which disciplines do you work (select as many as apply)? [Pharmacology & Pharmacy]', 'currentEmp13[SQ051]. In which disciplines do you work (select as many as apply)? [Philosophy]', 'currentEmp13[SQ052]. In which disciplines do you work (select as many as apply)? [Physics and Astronomy]', 'currentEmp13[SQ053]. In which disciplines do you work (select as many as apply)? [Physiotherapy]', 'currentEmp13[SQ054]. In which disciplines do you work (select as many as apply)? [Politics]', 'currentEmp13[SQ055]. In which disciplines do you work (select as many as apply)? [Psychology]', 'currentEmp13[SQ056]. In which disciplines do you work (select as many as apply)? [Robotics]', 'currentEmp13[SQ057]. In which disciplines do you work (select as many as apply)? [Russian & East European Languages]', 'currentEmp13[SQ058]. In which disciplines do you work (select as many as apply)? [Social Policy]', 'currentEmp13[SQ059]. In which disciplines do you work (select as many as apply)? [Social Work]', 'currentEmp13[SQ060]. In which disciplines do you work (select as many as apply)? [Sociology]', 'currentEmp13[SQ061]. In which disciplines do you work (select as many as apply)? [Sports Science]', 'currentEmp13[SQ062]. In which disciplines do you work (select as many as apply)? [Theology & Religious Studies]', 'currentEmp13[SQ063]. In which disciplines do you work (select as many as apply)? [Town & Country Planning and Landscape Design]', 'currentEmp13[SQ064]. In which disciplines do you work (select as many as apply)? [Veterinary Medicine]', 'currentEmp13[SQ065]. In which disciplines do you work (select as many as apply)? [Youth Work]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/academic_field.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['prevEmp1. Where was your previous job based?'], "one choice", "./../survey_creation/uk_17/listAnswers/type_organisation.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['prevEmp2[1]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 1]', 'prevEmp2[2]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 2]', 'prevEmp2[3]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 3]', 'prevEmp2[4]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 4]', 'prevEmp2[5]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 5]', 'prevEmp2[6]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 6]', 'prevEmp2[7]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 7]', 'prevEmp2[8]. Rank the following factors dependent on how strongly they influenced your decision to accept your current position [Rank 8]'], "ranking", "./../survey_creation/uk_17/listAnswers/reason_leave_job.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display(perc_to_count)
_ = get_plot(perc_to_count, "ranking")
v_to_count = get_count(df, ['currentWork1. Do you always work with the same researcher(s), or do you regularly change the researcher(s) you work with?'], "one choice", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['currentWork2. Do you work for a Research Software Group?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['paper1. Has your software contributed to research that has been published in a journal or at a conference?', 'paper2. In general, when your software contributes to a paper, are you acknowledged in that paper?', 'paper3. Are you generally named as the main author of the paper?', 'paper4. Are you generally named as a co-author of the paper?', 'paper5. Are you generally acknowledged in the main text of the paper?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['conf1can. Have you ever presented your software work at a conference or workshop?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
wc = wordcloud(df, ['conf2can. Which conferences or workshops?'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
v_to_count = get_count(df, ['proj1can. How many software projects are you currently involved with?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
_ = get_plot(v_to_count, "freenumeric")
v_to_count = get_count(df, ['proj4can[SQ001]. In general, what sort of testing do you conduct on your software? (check all that apply) [No formal testing]', 'proj4can[SQ002]. In general, what sort of testing do you conduct on your software? (check all that apply) [Developers conduct testing]', 'proj4can[SQ003]. In general, what sort of testing do you conduct on your software? (check all that apply) [Test engineers conduct testing]', 'proj4can[SQ004]. In general, what sort of testing do you conduct on your software? (check all that apply) [Users conduct testing]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/testing.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['stability1. What is the bus factor of your most important software project?'], "likert", "./../survey_creation/uk_17/listAnswers/bus_factor.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['stability2. Is there a technical handover plan for your most important software project?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['open01can. Have you ever released your software under an open-source licence?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ["open1can[A5]. How often do you release the software projects you've worked on under an open-source licence? []"], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['open03can. Have you ever used a Digital Object Identifier (DOI) to identify your software?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['open3can[SQ001]. How often do you associate your software with a Digital Object Identifier (DOI)? []'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_10.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['train1. Have you ever trained researchers in computational techniques?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['train2. On average, how many times a year do you take part in providing training?'], "freenumeric", "./../survey_creation/uk_17/listAnswers/.csv")
_ = get_plot(v_to_count, "freenumeric")
wc = wordcloud(df, ['train3. What training programs are you involved with (comma separated list)?'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
v_to_count = get_count(df, ['fund1. Do you know the source of the funding used to support you and your current, largest project?'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['fund2[SQ001]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [I volunteer my time]', 'fund2[SQ002]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Donation button]', 'fund2[SQ003]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Crowdfunding (one-time)]', 'fund2[SQ004]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Crowdfunding (recurring)]', 'fund2[SQ005]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Books & merchandise]', 'fund2[SQ006]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Advertising & sponsorships]', 'fund2[SQ007]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Industry support]', 'fund2[SQ008]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Consulting & services]', 'fund2[SQ009]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Grants]', 'fund2[SQ010]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [SaaS]', 'fund2[SQ011]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Membership]', 'fund2[SQ012]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Dual license]', 'fund2[SQ013]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Open core]', 'fund2[SQ014]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Foundations & consortiums]', 'fund2[SQ015]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Venture capital]', 'fund2[SQ016]. Which of the following sources are used to pay for your effort as an RSE/equivalent? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['fund3[SQ001]. Which of the following sources are used to fund your current, largest project? [Volunteers]', 'fund3[SQ002]. Which of the following sources are used to fund your current, largest project? [Donation button]', 'fund3[SQ003]. Which of the following sources are used to fund your current, largest project? [Crowdfunding (one-time)]', 'fund3[SQ004]. Which of the following sources are used to fund your current, largest project? [Crowdfunding (recurring)]', 'fund3[SQ005]. Which of the following sources are used to fund your current, largest project? [Books & merchandise]', 'fund3[SQ006]. Which of the following sources are used to fund your current, largest project? [Advertising & sponsorships]', 'fund3[SQ007]. Which of the following sources are used to fund your current, largest project? [Industry support]', 'fund3[SQ008]. Which of the following sources are used to fund your current, largest project? [Consulting & services]', 'fund3[SQ009]. Which of the following sources are used to fund your current, largest project? [Grants]', 'fund3[SQ010]. Which of the following sources are used to fund your current, largest project? [SaaS]', 'fund3[SQ011]. Which of the following sources are used to fund your current, largest project? [Membership]', 'fund3[SQ012]. Which of the following sources are used to fund your current, largest project? [Dual license]', 'fund3[SQ013]. Which of the following sources are used to fund your current, largest project? [Open core]', 'fund3[SQ014]. Which of the following sources are used to fund your current, largest project? [Foundations & consortiums]', 'fund3[SQ015]. Which of the following sources are used to fund your current, largest project? [Venture capital]', 'fund3[SQ016]. Which of the following sources are used to fund your current, largest project? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['fund4[SQ017]. Which of the following sources were used to fund your current, largest project three years ago? [My previous project is less than 3 years old]', 'fund4[SQ001]. Which of the following sources were used to fund your current, largest project three years ago? [Volunteers]', 'fund4[SQ002]. Which of the following sources were used to fund your current, largest project three years ago? [Donation button]', 'fund4[SQ003]. Which of the following sources were used to fund your current, largest project three years ago? [Crowdfunding (one-time)]', 'fund4[SQ004]. Which of the following sources were used to fund your current, largest project three years ago? [Crowdfunding (recurring)]', 'fund4[SQ005]. Which of the following sources were used to fund your current, largest project three years ago? [Books & merchandise]', 'fund4[SQ006]. Which of the following sources were used to fund your current, largest project three years ago? [Advertising & sponsorships]', 'fund4[SQ007]. Which of the following sources were used to fund your current, largest project three years ago? [Industry support]', 'fund4[SQ008]. Which of the following sources were used to fund your current, largest project three years ago? [Consulting & services]', 'fund4[SQ009]. Which of the following sources were used to fund your current, largest project three years ago? [Grants]', 'fund4[SQ010]. Which of the following sources were used to fund your current, largest project three years ago? [SaaS]', 'fund4[SQ011]. Which of the following sources were used to fund your current, largest project three years ago? [Membership]', 'fund4[SQ012]. Which of the following sources were used to fund your current, largest project three years ago? [Dual license]', 'fund4[SQ013]. Which of the following sources were used to fund your current, largest project three years ago? [Open core]', 'fund4[SQ014]. Which of the following sources were used to fund your current, largest project three years ago? [Foundations & consortiums]', 'fund4[SQ015]. Which of the following sources were used to fund your current, largest project three years ago? [Venture capital]', 'fund4[SQ016]. Which of the following sources were used to fund your current, largest project three years ago? [Trademark licensing & franchising]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/funding.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['likerttime1[perfCheck1]. Please rate the following propositions. There are no right or wrong answers [Do you receive sufficient information on the results of your work?]', 'likerttime1[perfCheck2]. Please rate the following propositions. There are no right or wrong answers [Do you get the opportunity to check on how well you are doing your work?]', 'likerttime1[perfCheck3]. Please rate the following propositions. There are no right or wrong answers [Do you have access to sufficient data and information to do your work?]', 'likertime2[perfCheck4]. Please rate the following propositions. There are no right or wrong answers [Do you receive sufficient information on the purpose of your work?]', 'likertime2[perfCheck5]. Please rate the following propositions. There are no right or wrong answers [Does your work provide you with direct feedback on how well you are doing?]', 'likertime2[perfCheck6]. Please rate the following propositions. There are no right or wrong answers [Does your supervisor/line manager inform you about how well you are doing your work?]', 'likerttime1[perfCheck7]. Please rate the following propositions. There are no right or wrong answers [Do your colleagues inform you about how well you are doing your work?]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_5.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['likertime2[turnOver1]. Please rate the following propositions. There are no right or wrong answers [How often do you feel frustrated when not given the opportunity to achieve your personal work-related goals?]', 'likertime2[turnOver2]. Please rate the following propositions. There are no right or wrong answers [How often do you look forward to another day at work?]', 'likerttime1[turnOver3]. Please rate the following propositions. There are no right or wrong answers [How often do you consider leaving your job?]', 'likerttime1[turnOver4]. Please rate the following propositions. There are no right or wrong answers [How often do you dream about getting another job that will better suit your needs?]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_time_5.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['likertagree1[turnOver5]. Please rate the following propositions. There are no right or wrong answers [My current job satisfies my personal needs]', 'likertagree3[turnOver6]. Please rate the following propositions. There are no right or wrong answers [I would accept another job at the same compensation level if I was offered it]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ["likertagree3[affRec1]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with my supervisor/line manager's confidence in me]", 'likertagree2[affRec2]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with a word of thanks from my supervisor/line manager]', 'likertagree2[affRec3]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with the recognition I receive from my supervisor/line manager for doing my job]', 'likertagree1[affRec4]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with the compliments from my supervisor/line manager concerning my work]', 'likertagree3[affRec5]. Please rate the following propositions. There are no right or wrong answers [I am satisfied with the encouragement from my supervisor/line manager while doing my job]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['likertagree1[percEmp1]. Please rate the following propositions. There are no right or wrong answers [It would not be very difficult for me to get an equivalent job in a different organisation]', 'likertagree2[percEmp2]. Please rate the following propositions. There are no right or wrong answers [I can think of a number of organisations that would probably offer me a job]', 'likertagree1[percEmp3]. Please rate the following propositions. There are no right or wrong answers [My experience is in demand on the labour market]', 'likertagree3[percEmp4]. Please rate the following propositions. There are no right or wrong answers [Given my qualifications and experience, getting a new job would not be very hard at all]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['likertagree2[affSat1]. Please rate the following propositions. There are no right or wrong answers [I find real enjoyment in my job]', 'likertagree2[affSat2]. Please rate the following propositions. There are no right or wrong answers [Most days I am enthusiastic about my job]', 'likertagree1[affSat3]. Please rate the following propositions. There are no right or wrong answers [I feel satisfied with my job]', 'likertagree3[affSat4]. Please rate the following propositions. There are no right or wrong answers [I like my job more than average]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_agree.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['satisGen1[SQ001]. In general, how satisfied are you with: [Your current position]', 'satisGen1[SQ002]. In general, how satisfied are you with: [Your career]'], "likert", "./../survey_creation/uk_17/listAnswers/likert_satisfied_10.csv")
display(v_to_count)
_ = get_plot(v_to_count, "likert")
v_to_count = get_count(df, ['socio2. Please select your gender'], "one choice", "./../survey_creation/uk_17/listAnswers/gender.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['socio3. Please select your age'], "one choice", "./../survey_creation/uk_17/listAnswers/age.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['socio5. How would you describe your ethnic origin? This refers to people who share the same cultural background and identity, not country of birth or nationality.'], "one choice", "./../survey_creation/uk_17/listAnswers/ethnicity.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['socio4. Please select the range of your salary'], "one choice", "./../survey_creation/uk_17/listAnswers/salary.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['disa1. Do you have a condition that is defined as a disability by the Equality Act 2010*'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['tool2. What Operating System do you prefer to use at work?'], "one choice", "./../survey_creation/uk_17/listAnswers/os.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "one choice")
v_to_count = get_count(df, ['tool4can[SQ001]. What programming languages do you use at work? (Select as many as apply) [Assembly]', 'tool4can[SQ002]. What programming languages do you use at work? (Select as many as apply) [C]', 'tool4can[SQ003]. What programming languages do you use at work? (Select as many as apply) [C#]', 'tool4can[SQ004]. What programming languages do you use at work? (Select as many as apply) [C++]', 'tool4can[SQ005]. What programming languages do you use at work? (Select as many as apply) [Clojure]', 'tool4can[SQ006]. What programming languages do you use at work? (Select as many as apply) [CoffeeScript]', 'tool4can[SQ007]. What programming languages do you use at work? (Select as many as apply) [Common Lisp]', 'tool4can[SQ036]. What programming languages do you use at work? (Select as many as apply) [CUDA]', 'tool4can[SQ008]. What programming languages do you use at work? (Select as many as apply) [Dart]', 'tool4can[SQ009]. What programming languages do you use at work? (Select as many as apply) [Elixir]', 'tool4can[SQ010]. What programming languages do you use at work? (Select as many as apply) [Erlang]', 'tool4can[SQ011]. What programming languages do you use at work? (Select as many as apply) [F#]', 'tool4can[SQ037]. What programming languages do you use at work? (Select as many as apply) [FORTRAN]', 'tool4can[SQ012]. What programming languages do you use at work? (Select as many as apply) [Go]', 'tool4can[SQ013]. What programming languages do you use at work? (Select as many as apply) [Groovy]', 'tool4can[SQ014]. What programming languages do you use at work? (Select as many as apply) [Hack]', 'tool4can[SQ015]. What programming languages do you use at work? (Select as many as apply) [Haskell]', 'tool4can[SQ016]. What programming languages do you use at work? (Select as many as apply) [Java]', 'tool4can[SQ017]. What programming languages do you use at work? (Select as many as apply) [JavaScript]', 'tool4can[SQ018]. What programming languages do you use at work? (Select as many as apply) [Julia]', 'tool4can[SQ019]. What programming languages do you use at work? (Select as many as apply) [Lua]', 'tool4can[SQ038]. What programming languages do you use at work? (Select as many as apply) [Markup languages (HTML, markdown,...)]', 'tool4can[SQ020]. What programming languages do you use at work? (Select as many as apply) [Matlab]', 'tool4can[SQ021]. What programming languages do you use at work? (Select as many as apply) [Objective-C]', 'tool4can[SQ022]. What programming languages do you use at work? (Select as many as apply) [Perl]', 'tool4can[SQ023]. What programming languages do you use at work? (Select as many as apply) [PHP]', 'tool4can[SQ024]. What programming languages do you use at work? (Select as many as apply) [Python]', 'tool4can[SQ025]. What programming languages do you use at work? (Select as many as apply) [R]', 'tool4can[SQ026]. What programming languages do you use at work? (Select as many as apply) [Ruby]', 'tool4can[SQ027]. What programming languages do you use at work? (Select as many as apply) [Rust]', 'tool4can[SQ028]. What programming languages do you use at work? (Select as many as apply) [Scala]', 'tool4can[SQ029]. What programming languages do you use at work? (Select as many as apply) [Smalltalk]', 'tool4can[SQ030]. What programming languages do you use at work? (Select as many as apply) [SQL]', 'tool4can[SQ031]. What programming languages do you use at work? (Select as many as apply) [Swift]', 'tool4can[SQ039]. What programming languages do you use at work? (Select as many as apply) [Unix Shell Scripting]', 'tool4can[SQ032]. What programming languages do you use at work? (Select as many as apply) [TypeScript]', 'tool4can[SQ033]. What programming languages do you use at work? (Select as many as apply) [VB.NET]', 'tool4can[SQ034]. What programming languages do you use at work? (Select as many as apply) [VBA]', 'tool4can[SQ035]. What programming languages do you use at work? (Select as many as apply) [Visual Basic]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/programing_language.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
v_to_count = get_count(df, ['ukrse1. Are you a member of the UK RSE Association? (Members are people who have signed up to the UK RSE mailing list at www.rse.ac.uk)'], "y/n/na", "./../survey_creation/uk_17/listAnswers/.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "y/n/na")
v_to_count = get_count(df, ['ukrse2[SQ001]. How do you meet other RSEs? [UK RSE Association]', 'ukrse2[SQ002]. How do you meet other RSEs? [Local RSE group/network]', 'ukrse2[SQ003]. How do you meet other RSEs? [N/A]'], "multiple choices", "./../survey_creation/uk_17/listAnswers/ukrse.csv")
perc_to_count = get_percentage(v_to_count, dropna=True)
display_side_by_side(v_to_count,perc_to_count)
_ = get_plot(perc_to_count, "multiple choices")
wc = wordcloud(df, ['ukrse3. How did you learn the skills you need to become an RSE?'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
wc = wordcloud(df, ['skill2[SQ001]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 1]', 'skill2[SQ2]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 2]', 'skill2[SQ3]. What skills would you like to acquire or improve to help your work as a Research Software Engineer? The skills can be technical and non-technical. [Skill 3]'])
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")